package com.kkb.controller;

import com.kkb.bean.Message;
import com.kkb.mvc.ResponseBody;
import com.kkb.mvc.ResponseView;
import com.kkb.utils.JSONUtil;
import com.kkb.utils.UserUtil;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class QRCodeController {


    /**
     * 业务： 快递员想扫描二维码（进入二维码页面之前）->前台页面发送（type=express| type=userPhone）表示通过分别要获取 单个快递信息| 用户所有快递信息
     * -> 根据type 分别存入不同的session值到 qrcode key中。
     * -> 跳转到二维码展示页面，再通过ajax获取session值 ， 进行数据的交互
     *
     * @param request
     * @param response
     * @return
     */

    @ResponseView("/wx/createQrcode.do")
    public String createQrcode(HttpServletRequest request, HttpServletResponse response){
        String code = request.getParameter("code");
        // express | user
        String type = request.getParameter("type");
        String qrcodeContent = null;
        String userPhone = null;
        HttpSession session = request.getSession();
        if ("express".equals(type)){
            // 快递的二维码： 被扫描后展示单个的快递消息
            qrcodeContent = "express_" + code;
        } else {
            // 用户的二维码： 被扫描后展示 用户的所有快递信息
            userPhone = UserUtil.getUserPhone(session);
            qrcodeContent = "userPhone_" + userPhone;
        }
        // 将qrcodeContent存入session
        session.setAttribute("qrcode",qrcodeContent);
        return "/personQRcode.html";
    }

    @ResponseBody("/wx/qrcode.do")
    public String qrcode(HttpServletRequest request, HttpServletResponse response){

        // 获取session值
        HttpSession session = request.getSession();
        Object qrcode = session.getAttribute("qrcode");
        Message msg = null;
        if (qrcode == null){
            // 非法进入code
            msg = new Message(-1,"取件码获取出错，请用户重新操作");
        } else {
            msg = new Message(0,(String) qrcode);
        }
        return JSONUtil.toJSON(msg);

    }

}
